Field-programmable Gate Arrays (FPGAs) and Programmable Logic Devices (PLDs) have been used in data communication and telecommunication systems. Conventional PLDs and FPGAs consist of a digital array of programmable elements, with the elements programmed to implement a fixed function or equation by processing digital signals. However, in developing complex integrated circuits, there is often a need for additional components that process and/or generate analog signals, such as operational and instrument amplifiers, filters, timers, analog-to-digital and digital-to-analog converters, etc. As a general rule, implementation of such analog components creates additional difficulties such as extra space for new components, increased power consumption, and additional steps during the design, testing, and production processes. All of these factors can significantly affect the cost and development cycle of a given product.
Because of the ever-increasing design complexity of electronic products, the capabilities of the EDA programs (tools) used in the design process become ever more important in reducing the cost and development cycle of such products. For example, the capabilities of EDA tools may be key in helping a user/designer to evaluate early in the design process how the circuitry of a given design would perform on a given device. Such EDA tool capabilities become even more important when an electronic design needs to be implemented on a device (e.g., such as a system-on-chip) with programmable interconnects that are used to carry analog signals between arbitrary or nearly arbitrary sets of component terminals and/or input/output pins.
By way of illustration, a programmable interconnect of a device may include a large number of traces and switches that are programmed (e.g., in the firmware of the device) to implement a large number of routes between various components. However, while a large number of traces and switches produce a more flexible interconnect, each trace and switch traversed by a signal on a given route may degrade the quality of that signal. Thus, during the design process it may be important for a user/designer to quantify such signal degradation even where the signal current is a few microamperes (μA or μAmps) and/or depending on the particular functional purpose of the signal.